The present invention generally relates to data recording and reproducing devices that utilize an iterative decoding technique, and, more particularly, to a data recording and reproducing device and method that utilize an iterative decoding technique and realize high-speed data reproduction from a recording medium on which data is recorded at a high density.
In the field of data recording and reproducing devices, there is an increasing demand for a technique of recording data on a recording medium at a higher density and a technique of transferring data between recording media at a higher speed. Where data is recorded on a recording medium at a high density and the data is reproduced from the recording medium at a high speed, however, the signal-to-noise ratio (SNR) of the signal reproduced from the recording medium is very low.
To counter this problem, a turbo encoding and decoding technique can be employed as a method for increasing the ability to detect reproduced signals with low SNRs.
The turbo encoding and decoding technique has been recognized as an encoding and decoding technique with great encoding gain, and has been drawing attention in the field of data storage as well as in the field of communication technology.
By the turbo encoding technique, two or more encoders that are connected in parallel or in a cascade fashion are employed. First, input user data are encoded by the two or more encoders connected in parallel or in a cascade fashion. The encoded data is then transmitted through a communication channel or is recorded on a recording medium.
The turbo-encoded data transmitted through a communication channel or recorded on a recording medium is decoded by decoders corresponding to the two or more encoders. Among the decoders, the decoding result of one of the decoders is used as an input signal to another one of the decoders, thereby performing iterative decoding. Through the iterative decoding, a transmission signal or a reproduced signal with a low SNR can be detected with high certainty.
In a data storage system that uses a magnetic disk or an optical disk as a recording medium, the PR (partial response) channel of the reproducing system is regarded as one of the two or more encoders, thus realizing encoding by the two or more encoders connected in a cascade fashion.
An example of the application of the turbo encoding and decoding technique to a magnetic disk device is disclosed in “Turbo Decoding FOR PR4: Parallel versus Serial concatenation, T. Souvingnier, A. Friedmann, M. Oerg, P. H. Siegel, R. E. Swanson, and J. K. Wolf, Proc. IEEE Int. Conf. Communications, pp. 1638-1642, June 1999”. By the technique disclosed in this document, a reproduced signal with a low SNR can be accurately reproduced.
FIG. 1 is a block diagram of an optical disk data recording and reproducing device 100 that uses the conventional turbo encoding and decoding technique. In the following, the operation of the optical disk 100 is described, with reference to the accompanying drawings.
In FIG. 1, the data recording and reproducing device 100 includes a recording system 101 and a reproducing system 110. The recording system 101 includes an outer encoder 102, a MUX and puncture unit 103, an interleaver 104, and a laser driving circuit 105.
The reproducing system 110 of the data recording and reproducing device 100 includes a PR channel 111, an analog-to-digital (A/D) converter 117, an iterative decoder 118, and a controller 119. The PR channel 111 includes an optical disk 112, an amplifier 113, an AGC (Auto Gain Controller) 114, a low pass filter 115, and a waveform equalizer 116.
First, the operation of each component of the recording system 101 of the data recording and reproducing device 100 is described.
The outer encoder 102 of the recording system 101 generates and outputs a parity bit stream 121 (pk) corresponding to user data 120 (uk) that is input to the data recording and reproducing device 100 and is to be recorded.
The MUX and puncture unit 103 combines the user data 120 (uk) and the parity bit stream 121 (pk), which is generated from the outer encoder 102, in accordance with predetermined rules. The combined data bit stream is then thinned out (a puncture function) in accordance with predetermined rules, thereby generating an encoded data bit stream 122 (ai).
The interleaver 104 rearranges the order in the encoded data bit stream 122 (ai), which is output from the MUX and puncture unit 103, thereby generating an interleaved encoded data bit stream 123 (ci).
The laser driving circuit 105 controls the quantity of laser emission, based on the interleaved encoded data bit stream 123 (ci) output from the interleaver 104. The laser driving circuit 105 then records the interleaved encoded data bit stream 123 (ci) on the optical disk 112.
Next, the operation of each component of the reproducing system 110 of the data recording and reproducing device 100 is described.
A reproduced signal 130 (yi) that is reproduced from the optical disk 112 with an optical head is subjected to waveform rectification through the amplifier 113, the AGC 114, the low pass filter 115, and the waveform equalizer 116.
In a case where data is recorded at such a high recording density as to cause intersymbol interference, the waveform of the reproduced signal 130 (yi) from the optical disk 112 can be equalized to a PR waveform (a partial response waveform) at the output end of the PR channel 111. In other words, PR channel encoding can be considered to be complete at the output end of the waveform equalizer 116.
Accordingly, encoding by two or more encoders that are connected in a cascade fashion is realized by the actual encoding functions of the outer encoder 102 of the recording system 101 and the PR channel 111. As a result, a turbo encoder is formed.
The iterative decoder 118 of the reproducing system 110 includes a decoder that corresponds to the outer encoder 102 of the recording system 101 and the PR channel 111 of the reproducing system 110. The iterative decoder 118 may have a structure shown in FIG. 2.
Next, the operation of the iterative decoder 118 of the reproducing system 110 is described. FIG. 2 shows an example structure of the iterative decoder 118 of the reproducing system 110.
The iterative decoder 118 includes a PR channel decoder 201, a subtractor 202, a deinterleaver 203, a DEMUX and depuncture unit 204, an outer code decoder 205, a MUX and puncture unit 206, a subtractor 207, an interleaver 208, and a hard decision unit 209.
So as to perform turbo decoding, the iterative decoder 118 utilizes the MAP (Maximum A Posteriori) technique or the like. The PR channel decoder 201 of the iterative decoder 118 corresponds to the actual encoding function of the PR channel 111, and performs APP (A Posteriori Probability) decoding.
This iterative decoding is described below in detail.
The PR channel decoder 201 calculates likelihood information L(ci) from the reproduced signal 130 (yi), and then outputs the likelihood information L(ci). The subtractor 202 subtracts priori information La(ci) 220 from the likelihood information L(ci) 211, so as to obtain outer likelihood information Le(ci) 212. Here, the priori information La(ci) 220 is obtained based on the output of the outer code decoder 205, as described later. The stream of the outer likelihood information Le(ci) obtained in order is rearranged by the deinterleaver 203, and is then supplied to the DEMUX and depuncture unit 204.
The DEMUX and depuncture unit 204 divides the stream of likelihood information, which is input in order, into a stream of likelihood information La(uk) corresponding to the user data bit (uk), which is input to the recording system 101, and a stream of likelihood information La(pk) corresponding to the parity bit 121 (pk) generated by the outer encoder 102.
During the dividing, information is added (a depuncture function) in accordance with rules corresponding to the thinning (puncture) rules used at the MUX and puncture unit 103 of the recording system 101.
The outer code decoder 205 corresponds to the outer encoder 102 of the recording system 101, and performs an APP operation using the likelihood information La(uk) and the likelihood information La(pk) corresponding to the parity bit pk, so as to obtain log-likelihood ratios L(uk) and L(pk).
The stream of log-likelihood ratios L(uk) and the stream of log-likelihood ratios L(pk) output in order from the outer code decoder 205 corresponding to the outer encoder 102 are supplied to the MUX and puncture unit 206. The MUX and puncture unit 206 combines the stream of log-likelihood ratios L(uk) and the stream of log-likelihood ratios L(pk), and subtracts information from the stream of combined log-likelihood ratios in accordance with predetermined rules (a puncture function). As a result, the MUX and puncture unit 206 outputs likelihood information L(ai).
The subtractor 207 then subtracts the priori information 213 (prior to the dividing into L(uk) and L(pk)) from the above likelihood information L(ai). The priori information 213 is obtained by deinterleaving the outer likelihood information Le(ci) with the deinterleaver 203 and is to be supplied to the outer code decoder 205 corresponding to the outer encoder 102. The output of the subtractor 207 is interleaved by the interleaver 208, so as to obtain outer likelihood information La(ci).
The outer likelihood information La(ci) is supplied as the priori information 220 to the PR channel decoder 201.
The iterative decoder 118 that includes the PR channel decoder 201 and the outer code decoder 205 iteratively performs a decoding operation using the prior information exchanged between the two decoders. This operation is called “iterative decoding”.
After the iterative decoding is performed a predetermined number of times, the hard decision unit 209 determines whether a detected data bit 221 (Uk) is “1” or “0”, based on the log-likelihood ratio L(uk) output from the outer code decoder 205. If the log-likelihood ratio L(uk) is greater than 0, the hard decision unit 209 determines that the detected data bit Uk is “1”. If the log-likelihood ratio L(uk) is equal to or smaller than 0, the hard decision unit 209 determines that the detected data bit Uk is “0”. The result of this determination is then output as decoded data from the output end of the iterative decoder 118.
FIG. 3 shows an example structure of the PR channel decoder 201 that implements the MAP algorithm shown in FIG. 2. The PR channel decoder 201 includes a gamma (γ) calculator 301, an alpha (α) calculator 302, a beta (β) calculator 303, an alpha (α) memory 304, and a LLR calculator 305.
In a MAP decoding operation, the gamma (γ) calculator 301 performs branch metric calculation in accordance with the trellis chart of the received data stream. The alpha (α) calculator 302 performs forward path metric calculation (alpha calculation), and the result of this is stored in the alpha (α) memory 304. The beta (β) calculator 303 then performs backward metric calculation (beta calculation). Based on these results, likelihood information LLR is calculated.
FIGS. 4A and 4B illustrate a calculation process in a MAP decoding operation. FIG. 4A shows the normal calculating order in a conventional MAP decoding operation. The process shown in FIG. 4B is described later. A data block 401 includes data sub blocks 402, 403, 404, and 405. The alpha (α) calculator 302 sequentially performs the forward path metric calculation from the sub block 402 toward the sub block 405. Once input is performed at the last sub block 405 of the data block 405, the beta (β) calculator 303 starts the backward path metric calculation from the sub block 405 toward the sub block 402. With the calculating order shown in FIG. 4, the beta (β) calculator 303 cannot start the backward path metric calculation before the input at the sub block 405 is completed. Therefore, a memory to store the result of each calculation of α, β, and γ (the alpha (α) memory 304 in FIG. 3, for example) is required.
In a case where data is recorded on a recording medium at a higher density and the data is reproduced at a higher speed, the signal-to-noise ratio (SNR) of the signal reproduced from the recording medium becomes poorer. To counter this problem, data stored at different locations are reproduced at the same time, so that the actual transfer speed can be increased without an increase in the reproducing speed.
FIG. 5 is a block diagram of an optical disk reproducing system that utilizes a parallel processing technique and an iterative decoding technique. The optical disk reproducing system 500 of FIG. 5 that is to reproduce recorded signals from an optical disk 501 includes N of waveform equalizers 511, 512, and 513, N of A/D converters 521, 522, and 523, N of iterative decoders 531, 532, and 533, and a controller 540. The optical disk 501 is equivalent to the optical disk 112 of FIG. 1. Each of the waveform equalizers 511, 512, and 513 is equivalent to the PR channel 111 of FIG. 1. Each of the A/D converters 521, 522, and 523 is equivalent to the A/D converter 117 of FIG. 1. Each of the iterative decoders 531, 532, and 533 is equivalent to the iterative decoder 118 of FIG. 1. The controller 540 is equivalent to the controller 119 of FIG. 1.
If recorded signals are reproduced from the optical disk 501 with N of heads, the reproducing speed becomes N times higher than the reproducing speed in the case where recorded signals are reproduced from the optical disk 501 with a single head. In that case, however, it is necessary to prepare N of waveform equalizers, N of A/D converters, and N of iterative decoders that are arranged in parallel. In accordance with the iterative decoding method, the data contained at one block should be collectively processed. Therefore, all the calculation results obtained during the operation need to be stored until the processing of the data block is completed. In the case where conventional iterative decoders are arranged in parallel and parallel processing is performed, memories each having the size corresponding to each data block need to be prepared, and the number of such memories should be the same as the number of the iterative decoders.
The iterative decoding technique enables large-capacity decoding. However, even a single decoder has a large circuit size, and large-sized memories are required for storing input data and calculation results to be obtained during a data processing operation. In the case where two or more iterative decoders are employed as shown in FIG. 5, large-sized memories need to be prepared, and the number of such memories should be the same as the number of the iterative decoders. As a result, the circuit size becomes even greater.
Japanese Laid-Open Patent Application No. 8-315549 discloses a data recording device, a data reproducing device, and a data recording carrier with which data recorded on two or more recording media or information recording planes can be readily and accurately reproduced.